package models

// Country ISO3166
type Country struct {
	Alpha2 string
	Alpha3 string
	CnName string
	EnName string
}

// MID 海事识别数字 (Maritime Identification Digits)
type MID int

func init() {
	var (
		//ALB 阿尔巴尼亚
		ALB = Country{"AL", "ALB", "阿尔巴尼亚", "Albania (Republic of)"}
		//AND 安道尔
		AND = Country{"AD", "AND", "安道尔", "Andorra (Principality of)"}
		//AUT 奥地利
		AUT = Country{"AT", "AUT", "奥地利", "Austria"}
		//AZC 亚速尔群岛
		AZC = Country{" ", "AZC", "亚速尔群岛", "Azores"}
		//BEL 比利时
		BEL = Country{"BE", "BEL", "比利时", "Belgium"}
		//BLR 白俄罗斯
		BLR = Country{"BY", "BLR", "白俄罗斯", "Belarus (Republic of)"}
		//BUL 保加利亚
		BUL = Country{"BG", "BUL", "保加利亚", "Bulgaria (Republic of)"}
		//VAT 梵蒂冈城
		VAT = Country{"VA", "VAT", "梵蒂冈城", "Vatican City State"}
		//CYP 塞浦路斯
		CYP = Country{"CY", "CYP", "塞浦路斯", "Cyprus (Republic of)"}
		//GER 德国
		GER = Country{"DE", "GER", "德国", "Germany (Federal Republic of)"}
		//GOG 格鲁吉亚
		GOG = Country{"GE", "GOG", "格鲁吉亚", "Georgia"}
		//MOL 摩尔多瓦
		MOL = Country{"MD", "MOL", "摩尔多瓦", "Moldova (Republic of)"}
		//MAL 马耳他
		MAL = Country{"MT", "MAL", "马耳他", "Malta"}
		//ARM 亚美尼亚
		ARM = Country{"AM", "ARM", "亚美尼亚", "Armenia (Republic of)"}
		//DEN 丹麦
		DEN = Country{"DK", "DEN", "丹麦", "Denmark"}
		//SPA 西班牙
		SPA = Country{"ES", "SPA", "西班牙", "Spain"}
		//FRA 法国
		FRA = Country{"FX", "FRA", "法国", "France"}
		//FIN 芬兰
		FIN = Country{"FI", "FIN", "芬兰", "Finland"}
		//FAR 法罗群岛
		FAR = Country{"FO", "FAR", "法罗群岛", "Faroe Islands"}
		//UKM 大不列颠及北爱尔兰联合王国
		UKM = Country{"GB", "UKM", "大不列颠及北爱尔兰联合王国", "United Kingdom of Great Britain and Northern Ireland"}
		//GIB 直布罗陀
		GIB = Country{"GI", "GIB", "直布罗陀", "Gibraltar"}
		//GRE 希腊
		GRE = Country{"GR", "GRE", "希腊", "Greece"}
		//CRT 克罗地亚共和国）
		CRT = Country{"HR", "CRT", "克罗地亚共和国）", "Croatia (Republic of)"}
		//MOR 摩洛哥
		MOR = Country{"MA", "MOR", "摩洛哥", "Morocco (Kingdom of)"}
		//HUN 匈牙利
		HUN = Country{"HU", "HUN", "匈牙利", "Hungary (Republic of)"}
		//NET 荷兰
		NET = Country{"NL", "NET", "荷兰", "Netherlands (Kingdom of the)"}
		//ITA 意大利
		ITA = Country{"IT", "ITA", "意大利", "Italy"}
		//IRE 爱尔兰
		IRE = Country{"IE", "IRE", "爱尔兰", "Ireland"}
		//ICE 冰岛
		ICE = Country{"IS", "ICE", "冰岛", "Iceland"}
		//LIE 列支敦士登
		LIE = Country{"LI", "LIE", "列支敦士登", "Liechtenstein (Principality of)"}
		//LUX 卢森堡
		LUX = Country{"LU", "LUX", "卢森堡", "Luxembourg"}
		//MON 摩纳哥
		MON = Country{"MC", "MON", "摩纳哥", "Monaco (Principality of)"}
		//MAE Madeira
		MAE = Country{"", "MAE", "马德拉", "Madeira"}
		//NOR 挪威
		NOR = Country{"NO", "NOR", "挪威", "Norway"}
		//POL 波兰
		POL = Country{"PL", "POL", "波兰", "Poland (Republic of)"}
		//MNT 黑山
		MNT = Country{"ME", "MNT", "黑山", "Montenegro"}
		//POR 葡萄牙
		POR = Country{"PT", "POR", "葡萄牙", "Portugal"}
		//ROM 罗马尼亚
		ROM = Country{"RO", "ROM", "罗马尼亚", "Romania"}
		//SWE 瑞典
		SWE = Country{"SE", "SWE", "瑞典", "Sweden"}
		//SLV 斯洛伐克共和国
		SLV = Country{"SK", "SLV", "斯洛伐克共和国", "Slovak Republic"}
		//SAN 圣马力诺
		SAN = Country{"SM", "SAN", "圣马力诺", "San Marino (Republic of)"}
		//SWT 瑞士
		SWT = Country{"CH", "SWT", "瑞士", "Switzerland (Confederation of)"}
		//CZH 捷克共和国
		CZH = Country{"CZ", "CZH", "捷克共和国", "Czech Republic"}
		//TUR 火鸡
		TUR = Country{"TR", "TUR", "火鸡", "Turkey"}
		//UKR 乌克兰
		UKR = Country{"UA", "UKR", "乌克兰", "Ukraine"}
		//RUS 俄罗斯联邦
		RUS = Country{"RU", "RUS", "俄罗斯联邦", "Russian Federation"}
		//MCD 前南斯拉夫的马其顿共和国
		MCD = Country{"MK", "MCD", "前南斯拉夫的马其顿共和国", "The Former Yugoslav Republic of Macedonia"}
		//LAT 拉脱维亚
		LAT = Country{"LV", "LAT", "拉脱维亚", "Latvia (Republic of)"}
		//EST 爱沙尼亚
		EST = Country{"EE", "EST", "爱沙尼亚", "Estonia (Republic of)"}
		//LIT 立陶宛
		LIT = Country{"LT", "LIT", "立陶宛", "Lithuania (Republic of)"}
		//SVN 斯洛文尼亚
		SVN = Country{"SI", "SVN", "斯洛文尼亚", "Slovenia (Republic of)"}
		//SER 塞尔维亚
		SER = Country{"RS", "SER", "塞尔维亚", "Serbia (Republic of)"}
		//ANA 安圭拉
		ANA = Country{"AI", "ANA", "安圭拉", "Anguilla"}
		//ALA 阿拉斯加州
		ALA = Country{"	", "ALA", "阿拉斯加州", "Alaska (State of)"}
		//ANT 安提瓜和巴布达
		ANT = Country{"AG", "ANT", "安提瓜和巴布达", "Antigua and Barbuda"}
		//NEA 荷属安的列斯
		NEA = Country{"NL", "NEA", "荷属安的列斯", "Netherlands Antilles"}
		//ARU 阿鲁巴
		ARU = Country{"AW", "ARU", "阿鲁巴", "Aruba"}
		//BAA 巴哈马
		BAA = Country{"BS", "BAA", "巴哈马", "Bahamas (Commonwealth of the)"}
		//BER 百慕大
		BER = Country{"BM", "BER", "百慕大", "Bermuda"}
		//BEZ 伯利兹
		BEZ = Country{"BZ", "BEZ", "伯利兹", "Belize"}
		//BAR 巴巴多斯
		BAR = Country{"BB", "BAR", "巴巴多斯", "Barbados"}
		//CAN 加拿大
		CAN = Country{"CA", "CAN", "加拿大", "Canada"}
		//CAY 开曼群岛
		CAY = Country{"KY", "CAY", "开曼群岛", "Cayman Islands"}
		//COS 哥斯达黎加
		COS = Country{"CR", "COS", "哥斯达黎加", "Costa Rica"}
		//CUB 古巴
		CUB = Country{"CU", "CUB", "古巴", "Cuba"}
		//DOM 多米尼加
		DOM = Country{"DM", "DOM", "多米尼加", "Dominica (Commonwealth of)"}
		//DOR 多明尼加共和国
		DOR = Country{"DO", "DOR", "多明尼加共和国", "Dominican Republic"}
		//GUA 瓜德罗普岛
		GUA = Country{"GP", "GUA", "瓜德罗普岛", "Guadeloupe (French Department of)"}
		//GRA 格林纳达
		GRA = Country{"GD", "GRA", "格林纳达", "Grenada"}
		//GRN 格陵兰
		GRN = Country{"GL", "GRN", "格陵兰", "Greenland"}
		//GUT 危地马拉
		GUT = Country{"GT", "GUT", "危地马拉", "Guatemala (Republic of)"}
		//HON 洪都拉斯
		HON = Country{"HN", "HON", "洪都拉斯", "Honduras (Republic of)"}
		//HAI 海地
		HAI = Country{"HT", "HAI", "海地", "Haiti (Republic of)"}
		//USA 美国
		USA = Country{"US", "USA", "美国", "United States of America"}
		//JAM 牙买加
		JAM = Country{"JM", "JAM", "牙买加", "Jamaica"}
		//SKN 圣基茨和尼维斯
		SKN = Country{"KN", "SKN", "圣基茨和尼维斯", "Saint Kitts and Nevis (Federation of)"}
		//SLU 圣卢西亚
		SLU = Country{"LC", "SLU", "圣卢西亚", "Saint Lucia"}
		//MEX 墨西哥
		MEX = Country{"MX", "MEX", "墨西哥", "Mexico"}
		//MTQ 马提尼克岛
		MTQ = Country{"MQ", "MTQ", "马提尼克岛", "Martinique (French Department of)"}
		//MOT 蒙特塞拉特
		MOT = Country{"MS", "MOT", "蒙特塞拉特", "Montserrat"}
		//NIC 尼加拉瓜
		NIC = Country{"NI", "NIC", "尼加拉瓜", "Nicaragua"}
		//PAN 巴拿马
		PAN = Country{"PA", "PAN", "巴拿马", "Panama (Republic of)"}
		//PUE 波多黎各
		PUE = Country{"PR", "PUE", "波多黎各", "Puerto Rico"}
		//ELS 萨尔瓦多
		ELS = Country{"SV", "ELS", "萨尔瓦多", "El Salvador (Republic of)"}
		//SPI 圣皮埃尔和密克隆
		SPI = Country{"PM", "SPI", "圣皮埃尔和密克隆", "Saint Pierre and Miquelon (Territorial Collectivity of)"}
		//TAT 特立尼达和多巴哥
		TAT = Country{"TT", "TAT", "特立尼达和多巴哥", "Trinidad and Tobago"}
		//TUK 特克斯和凯科斯群岛
		TUK = Country{"TC", "TUK", "特克斯和凯科斯群岛", "Turks and Caicos Islands"}
		//SVG 圣文森特和格林纳丁斯
		SVG = Country{"VC", "SVG", "圣文森特和格林纳丁斯", "Saint Vincent and the Grenadines"}
		//BVI 英属维尔京群岛
		BVI = Country{"VG", "BVI", "英属维尔京群岛", "British Virgin Islands"}
		//USV 美属维尔京群岛
		USV = Country{"VI", "USV", "美属维尔京群岛", "United States Virgin Islands"}
		//AFG 阿富汗
		AFG = Country{"AF", "AFG", "阿富汗", "Afghanistan"}
		//SAU 沙特阿拉伯
		SAU = Country{"SA", "SAU", "沙特阿拉伯", "Saudi Arabia (Kingdom of)"}
		//BAN 孟加拉国
		BAN = Country{"BD", "BAN", "孟加拉国", "Bangladesh (People's Republic of)"}
		//BAH 巴林
		BAH = Country{"BH", "BAH", "巴林", "Bahrain (Kingdom of)"}
		//BHU 不丹
		BHU = Country{"BT", "BHU", "不丹", "Bhutan (Kingdom of)"}
		//CHN 中国
		CHN = Country{"CN", "CHN", "中国", "China (People's Republic of)"}
		//TAI 台湾
		TAI = Country{"TW", "TAI", "台湾", "Taiwan (Province of China)"}
		//SRI 斯里兰卡
		SRI = Country{"LK", "SRI", "斯里兰卡", "Sri Lanka (Democratic Socialist Republic of)"}
		//IND 印度
		IND = Country{"IN", "IND", "印度", "India (Republic of)"}
		//IRN 伊朗
		IRN = Country{"IR", "IRN", "伊朗", "Iran (Islamic Republic of)"}
		//AZR 阿塞拜疆共和国
		AZR = Country{"AZ", "AZR", "阿塞拜疆共和国", "Azerbaijani Republic"}
		//IRQ 伊拉克
		IRQ = Country{"IQ", "IRQ", "伊拉克", "Iraq (Republic of)"}
		//ISR 以色列
		ISR = Country{"IL", "ISR", "以色列", "Israel (State of)"}
		//JPN 日本
		JPN = Country{"JP", "JPN", "日本", "Japan"}
		//TKM 土库曼斯坦
		TKM = Country{"TM", "TKM", "土库曼斯坦", "Turkmenistan"}
		//KAZ 哈萨克斯坦
		KAZ = Country{"KZ", "KAZ", "哈萨克斯坦", "Kazakhstan (Republic of)"}
		//UZB 乌兹别克斯坦
		UZB = Country{"UZ", "UZB", "乌兹别克斯坦", "Uzbekistan (Republic of)"}
		//JOR 约旦
		JOR = Country{"JO", "JOR", "约旦", "Jordan (Hashemite Kingdom of)"}
		//KOR 韩国
		KOR = Country{"KR", "KOR", "韩国", "Korea (Republic of)"}
		//PAA 巴勒斯坦
		PAA = Country{"PS", "PAA", "巴勒斯坦", "Palestine"}
		//KDR 朝鲜民主主义人民共和国
		KDR = Country{"KP", "KDR", "朝鲜民主主义人民共和国", "Democratic People's Republic of Korea"}
		//KUW 科威特
		KUW = Country{"KW", "KUW", "科威特", "Kuwait (State of)"}
		//LEB 黎巴嫩
		LEB = Country{"LB", "LEB", "黎巴嫩", "Lebanon"}
		//KYR 吉尔吉斯共和国
		KYR = Country{"KG", "KYR", "吉尔吉斯共和国", "Kyrgyz Republic"}
		//MAC 澳门
		MAC = Country{"MO", "MAC", "澳门", "Macao (Special Administrative Region of China)"}
		//MAV 马尔代夫
		MAV = Country{"MV", "MAV", "马尔代夫", "Maldives (Republic of)"}
		//MNG 蒙古
		MNG = Country{"MN", "MNG", "蒙古", "Mongolia"}
		//NEP 尼泊尔
		NEP = Country{"NP", "NEP", "尼泊尔", "Nepal (Federal Democratic Republic of)"}
		//OMN 阿曼
		OMN = Country{"OM", "OMN", "阿曼", "Oman (Sultanate of)"}
		//PAK 巴基斯坦
		PAK = Country{"PK", "PAK", "巴基斯坦", "Pakistan (Islamic Republic of)"}
		//QAT 卡塔尔
		QAT = Country{"QA", "QAT", "卡塔尔", "Qatar (State of)"}
		//SYR 阿拉伯叙利亚共和国
		SYR = Country{"SY", "SYR", "阿拉伯叙利亚共和国", "Syrian Arab Republic"}
		//UAE 阿拉伯联合酋长国
		UAE = Country{"AE", "UAE", "阿拉伯联合酋长国", "United Arab Emirates"}
		//TJK 塔吉克斯坦
		TJK = Country{"TJ", "TJK", "塔吉克斯坦", "Tajikistan"}
		//YEM 也门
		YEM = Country{"YE", "YEM", "也门", "Yemen (Republic of)"}
		//HKG 香港
		HKG = Country{"HK", "HKG", "香港", "Hong Kong (Special Administrative Region of China)"}
		//BOS 波斯尼亚和黑塞哥维那
		BOS = Country{"BA", "BOS", "波斯尼亚和黑塞哥维那", "Bosnia and Herzegovina"}
		//ADE 阿德利兰德
		ADE = Country{"	", "ADE", "阿德利兰德", "Adelie Land"}
		//AUS 澳大利亚
		AUS = Country{"AU", "AUS", "澳大利亚", "Australia"}
		//BUR 缅甸
		BUR = Country{"MM", "BUR", "缅甸", "Myanmar (Union of)"}
		//BRU 文莱达鲁萨兰国
		BRU = Country{"BN", "BRU", "文莱达鲁萨兰国", "Brunei Darussalam"}
		//MIC 密克罗尼西亚
		MIC = Country{"FM", "MIC", "密克罗尼西亚", "Micronesia (Federated States of)"}
		//PAL 帕劳
		PAL = Country{"PW", "PAL", "帕劳", "Palau (Republic of)"}
		//NZL 新西兰
		NZL = Country{"NZ", "NZL", "新西兰", "New Zealand"}
		//CMB 柬埔寨
		CMB = Country{"KH", "CMB", "柬埔寨", "Cambodia (Kingdom of)"}
		//CHR 圣诞岛
		CHR = Country{"CX", "CHR", "圣诞岛", "Christmas Island (Indian Ocean)"}
		//COO 库克群岛
		COO = Country{"CK", "COO", "库克群岛", "Cook Islands"}
		//FIJ 斐济
		FIJ = Country{"FJ", "FIJ", "斐济", "Fiji (Republic of)"}
		//COC 科科斯
		COC = Country{"CC", "COC", "科科斯", "Cocos (Keeling) Islands"}
		//INO 印度尼西亚
		INO = Country{"ID", "INO", "印度尼西亚", "Indonesia (Republic of)"}
		//KIR 基里巴斯
		KIR = Country{"KI", "KIR", "基里巴斯", "Kiribati (Republic of)"}
		//LAO 老挝人民民主共和国
		LAO = Country{"LA", "LAO", "老挝人民民主共和国", "Lao People's Democratic Republic"}
		//MLY 马来西亚
		MLY = Country{"MY", "MLY", "马来西亚", "Malaysia"}
		//MAI 北马里亚纳群岛
		MAI = Country{"MP", "MAI", "北马里亚纳群岛", "Northern Mariana Islands (Commonwealth of the)"}
		//MAR 马绍尔群岛
		MAR = Country{"MH", "MAR", "马绍尔群岛", "Marshall Islands (Republic of the)"}
		//NCA 新喀里多尼亚
		NCA = Country{"NC", "NCA", "新喀里多尼亚", "New Caledonia"}
		//NIU 纽埃
		NIU = Country{"NU", "NIU", "纽埃", "Niue"}
		//NAU 瑙鲁
		NAU = Country{"NR", "NAU", "瑙鲁", "Nauru (Republic of)"}
		//PLY 法属波利尼西亚
		PLY = Country{"PF", "PLY", "法属波利尼西亚", "French Polynesia"}
		//PHI 菲律宾
		PHI = Country{"PH", "PHI", "菲律宾", "Philippines (Republic of the)"}
		//PAP 巴布亚新几内亚
		PAP = Country{"PG", "PAP", "巴布亚新几内亚", "Papua New Guinea"}
		//PIT 皮特凯恩岛
		PIT = Country{"PN", "PIT", "皮特凯恩岛", "Pitcairn Island"}
		//SOL 所罗门群岛
		SOL = Country{"SB", "SOL", "所罗门群岛", "Solomon Islands"}
		//ASA 美属萨摩亚
		ASA = Country{"AS", "ASA", "美属萨摩亚", "American Samoa"}
		//WSA 萨摩亚
		WSA = Country{"WS", "WSA", "萨摩亚", "Samoa (Independent State of)"}
		//SIN 新加坡
		SIN = Country{"SG", "SIN", "新加坡", "Singapore (Republic of)"}
		//THA 泰国
		THA = Country{"TH", "THA", "泰国", "Thailand"}
		//TON 汤加
		TON = Country{"TO", "TON", "汤加", "Tonga (Kingdom of)"}
		//TUV 图瓦卢
		TUV = Country{"TV", "TUV", "图瓦卢", "Tuvalu"}
		//VIE 越南
		VIE = Country{"VN", "VIE", "越南", "Viet Nam (Socialist Republic of)"}
		//VAN 瓦努阿图
		VAN = Country{"VU", "VAN", "瓦努阿图", "Vanuatu (Republic of)"}
		//WAL 瓦利斯群岛和富图纳群岛
		WAL = Country{"WF", "WAL", "瓦利斯群岛和富图纳群岛", "Wallis and Futuna Islands"}
		//SAF 南非
		SAF = Country{"ZA", "SAF", "南非", "South Africa (Republic of)"}
		//ANG 安哥拉
		ANG = Country{"AO", "ANG", "安哥拉", "Angola (Republic of)"}
		//ALG 阿尔及利亚
		ALG = Country{"DZ", "ALG", "阿尔及利亚", "Algeria (People's Democratic Republic of)"}
		//SPL Saint
		SPL = Country{"", "SPL", "圣保罗和阿姆斯特丹群岛", "Saint Paul and Amsterdam Islands"}
		//ASC 阿森松岛
		ASC = Country{"AC", "ASC", "阿森松岛", "Ascension Island"}
		//BUI 布隆迪
		BUI = Country{"BI", "BUI", "布隆迪", "Burundi (Republic of)"}
		//BEN 贝宁
		BEN = Country{"BJ", "BEN", "贝宁", "Benin (Republic of)"}
		//BOT 博茨瓦纳
		BOT = Country{"BW", "BOT", "博茨瓦纳", "Botswana (Republic of)"}
		//CAR 中非共和国
		CAR = Country{"CF", "CAR", "中非共和国", "Central African Republic"}
		//CAM 喀麦隆
		CAM = Country{"CM", "CAM", "喀麦隆", "Cameroon (Republic of)"}
		//CON 刚果
		CON = Country{"CG", "CON", "刚果", "Congo (Republic of the)"}
		//COM 科摩罗
		COM = Country{"KM", "COM", "科摩罗", "Comoros (Union of the)"}
		//CAP 佛得角
		CAP = Country{"CV", "CAP", "佛得角", "Cape Verde (Republic of)"}
		//CRP Archipelago
		CRP = Country{"	", "CRP", "Crozet Archipelago", "Crozet Archipelago"}
		//IVO 科特迪瓦
		IVO = Country{"CI", "IVO", "科特迪瓦", "C?te d'Ivoire (Republic of)"}
		//DJI 吉布提
		DJI = Country{"DJ", "DJI", "吉布提", "Djibouti (Republic of)"}
		//EGY 埃及
		EGY = Country{"EG", "EGY", "埃及", "Egypt (Arab Republic of)"}
		//ETH 埃塞俄比亚
		ETH = Country{"ET", "ETH", "埃塞俄比亚", "Ethiopia (Federal Democratic Republic of)"}
		//ERT 厄立特里亚
		ERT = Country{"ER", "ERT", "厄立特里亚", "Eritrea"}
		//GAB 加蓬共和国
		GAB = Country{"GA", "GAB", "加蓬共和国", "Gabonese Republic"}
		//GHA 加纳
		GHA = Country{"GH", "GHA", "加纳", "Ghana"}
		//GAM 冈比亚
		GAM = Country{"GM", "GAM", "冈比亚", "Gambia (Republic of the)"}
		//GUB 几内亚比绍
		GUB = Country{"GW", "GUB", "几内亚比绍", "Guinea-Bissau (Republic of)"}
		//EQG 赤道几内亚
		EQG = Country{"GQ", "EQG", "赤道几内亚", "Equatorial Guinea (Republic of)"}
		//GUN 几内亚
		GUN = Country{"GN", "GUN", "几内亚", "Guinea (Republic of)"}
		//BUF 布基纳法索
		BUF = Country{"BF", "BUF", "布基纳法索", "Burkina Faso"}
		//KEN 肯尼亚
		KEN = Country{"KE", "KEN", "肯尼亚", "Kenya (Republic of)"}
		//KER 凯尔盖恩群岛
		KER = Country{"	", "KER", "凯尔盖恩群岛", "Kerguelen Islands"}
		//LIB 利比里亚
		LIB = Country{"LR", "LIB", "利比里亚", "Liberia (Republic of)"}
		//SSD 南苏丹
		SSD = Country{"SS", "SSD", "南苏丹", "South Sudan"}
		//LBY 利比亚
		LBY = Country{"LY", "LBY", "利比亚", "Socialist People's Libyan Arab Jamahiriya"}
		//LES 莱索托
		LES = Country{"LS", "LES", "莱索托", "Lesotho (Kingdom of)"}
		//MAU 毛里求斯
		MAU = Country{"MU", "MAU", "毛里求斯", "Mauritius (Republic of)"}
		//MAD 马达加斯加
		MAD = Country{"MG", "MAD", "马达加斯加", "Madagascar (Republic of)"}
		//MLI 马里
		MLI = Country{"ML", "MLI", "马里", "Mali (Republic of)"}
		//MOZ 莫桑比克
		MOZ = Country{"MZ", "MOZ", "莫桑比克", "Mozambique (Republic of)"}
		//MAA 毛里塔尼亚
		MAA = Country{"MR", "MAA", "毛里塔尼亚", "Mauritania (Islamic Republic of)"}
		//MAW 马拉维
		MAW = Country{"MW", "MAW", "马拉维", "Malawi"}
		//NIG 尼日尔
		NIG = Country{"NE", "NIG", "尼日尔", "Niger (Republic of the)"}
		//NIA 尼日利亚
		NIA = Country{"NG", "NIA", "尼日利亚", "Nigeria (Federal Republic of)"}
		//NAM 纳米比亚
		NAM = Country{"NA", "NAM", "纳米比亚", "Namibia (Republic of)"}
		//REU 团聚
		REU = Country{"RE", "REU", "团聚", "Reunion (French Department of)"}
		//RWA 卢旺达
		RWA = Country{"RW", "RWA", "卢旺达", "Rwanda (Republic of)"}
		//SUD 苏丹
		SUD = Country{"SD", "SUD", "苏丹", "Sudan (Republic of the)"}
		//SEN 塞内加尔
		SEN = Country{"SN", "SEN", "塞内加尔", "Senegal (Republic of)"}
		//SEY 塞舌尔
		SEY = Country{"SC", "SEY", "塞舌尔", "Seychelles (Republic of)"}
		//SHE 圣赫勒拿岛
		SHE = Country{"SH", "SHE", "圣赫勒拿岛", "Saint Helena"}
		//SOM 索马里民主共和国
		SOM = Country{"SO", "SOM", "索马里民主共和国", "Somali Democratic Republic"}
		//SIL 塞拉利昂
		SIL = Country{"SL", "SIL", "塞拉利昂", "Sierra Leone"}
		//SAO 圣多美和普林西比
		SAO = Country{"ST", "SAO", "圣多美和普林西比", "Sao Tome and Principe (Democratic Republic of)"}
		//SWA 斯威士兰
		SWA = Country{"SZ", "SWA", "斯威士兰", "Swaziland (Kingdom of)"}
		//CHA 乍得
		CHA = Country{"TD", "CHA", "乍得", "Chad (Republic of)"}
		//TOG 多哥共和国
		TOG = Country{"TG", "TOG", "多哥共和国", "Togolese Republic"}
		//TUN 突尼斯
		TUN = Country{"TN", "TUN", "突尼斯", "Tunisia"}
		//TAN 坦桑尼亚
		TAN = Country{"TZ", "TAN", "坦桑尼亚", "Tanzania (United Republic of)"}
		//UGA 乌干达
		UGA = Country{"UG", "UGA", "乌干达", "Uganda (Republic of)"}
		//ZAI 刚果民主共和国
		ZAI = Country{"CD", "ZAI", "刚果民主共和国", "Democratic Republic of the Congo"}
		//ZAM 赞比亚
		ZAM = Country{"ZM", "ZAM", "赞比亚", "Zambia (Republic of)"}
		//ZIM 津巴布韦
		ZIM = Country{"ZW", "ZIM", "津巴布韦", "Zimbabwe (Republic of)"}
		//ARG 阿根廷共和国
		ARG = Country{"AR", "ARG", "阿根廷共和国", "Argentine Republic"}
		//BRA 巴西
		BRA = Country{"BR", "BRA", "巴西", "Brazil (Federative Republic of)"}
		//BOL 玻利维亚
		BOL = Country{"BO", "BOL", "玻利维亚", "Bolivia (Plurinational State of)"}
		//CHI 智利
		CHI = Country{"CL", "CHI", "智利", "Chile"}
		//COL 哥伦比亚
		COL = Country{"CO", "COL", "哥伦比亚", "Colombia (Republic of)"}
		//ECU 厄瓜多尔
		ECU = Country{"EC", "ECU", "厄瓜多尔", "Ecuador"}
		//FAL 福克兰群岛
		FAL = Country{"FK", "FAL", "福克兰群岛", "Falkland Islands (Malvinas)"}
		//GUI 圭亚那
		GUI = Country{"GF", "GUI", "圭亚那", "Guiana (French Department of)"}
		//GUY 圭亚那
		GUY = Country{"GY", "GUY", "圭亚那", "Guyana"}
		//PAR 巴拉圭
		PAR = Country{"PY", "PAR", "巴拉圭", "Paraguay (Republic of)"}
		//PER 秘鲁
		PER = Country{"PE", "PER", "秘鲁", "Peru"}
		//SUR 苏里南
		SUR = Country{"SR", "SUR", "苏里南", "Suriname (Republic of)"}
		//URU 乌拉圭
		URU = Country{"UY", "URU", "乌拉圭", "Uruguay (Eastern Republic of)"}
		//VEN 委内瑞拉
		VEN = Country{"VE", "VEN", "委内瑞拉", "Venezuela (Bolivarian Republic of)"}
	)

	midMap = map[MID]Country{
		201: ALB, 202: AND, 203: AUT, 204: AZC, 205: BEL, 206: BLR, 207: BUL, 208: VAT, 209: CYP, 210: CYP,
		211: GER, 212: CYP, 213: GOG, 214: MOL, 215: MAL, 216: ARM, 218: GER, 219: DEN, 220: DEN, 224: SPA,
		225: SPA, 226: FRA, 227: FRA, 228: FRA, 229: MAL, 230: FIN, 231: FAR, 232: UKM, 233: UKM, 234: UKM,
		235: UKM, 236: GIB, 237: GRE, 238: CRT, 239: GRE, 240: GRE, 241: GRE, 242: MOR, 243: HUN, 244: NET,
		245: NET, 246: NET, 247: ITA, 248: MAL, 249: MAL, 250: IRE, 251: ICE, 252: LIE, 253: LUX, 254: MON,
		255: MAE, 256: MAL, 257: NOR, 258: NOR, 259: NOR, 261: POL, 262: MNT, 263: POR, 264: ROM, 265: SWE,
		266: SWE, 267: SLV, 268: SAN, 269: SWT, 270: CZH, 271: TUR, 272: UKR, 273: RUS, 274: MCD, 275: LAT,
		276: EST, 277: LIT, 278: SVN, 279: SER, 301: ANA, 303: ALA, 304: ANT, 305: ANT, 306: NEA, 307: ARU,
		308: BAA, 309: BAA, 310: BER, 311: BAA, 312: BEZ, 314: BAR, 316: CAN, 319: CAY, 321: COS, 323: CUB,
		325: DOM, 327: DOR, 329: GUA, 330: GRA, 331: GRN, 332: GUT, 334: HON, 336: HAI, 338: USA, 339: JAM,
		341: SKN, 343: SLU, 345: MEX, 347: MTQ, 348: MOT, 350: NIC, 351: PAN, 352: PAN, 353: PAN, 354: PAN,
		355: PAN, 356: PAN, 357: PAN, 358: PUE, 359: ELS, 361: SPI, 362: TAT, 364: TUK, 366: USA, 367: USA,
		368: USA, 369: USA, 370: PAN, 371: PAN, 372: PAN, 373: PAN, 374: PAN, 375: SVG, 376: SVG, 377: SVG,
		378: BVI, 379: USV, 401: AFG, 403: SAU, 405: BAN, 408: BAH, 410: BHU, 412: CHN, 413: CHN, 414: CHN,
		416: TAI, 417: SRI, 419: IND, 422: IRN, 423: AZR, 425: IRQ, 428: ISR, 431: JPN, 432: JPN, 434: TKM,
		436: KAZ, 437: UZB, 438: JOR, 440: KOR, 441: KOR, 443: PAA, 445: KDR, 447: KUW, 450: LEB, 451: KYR,
		453: MAC, 455: MAV, 457: MNG, 459: NEP, 461: OMN, 463: PAK, 466: QAT, 468: SYR, 470: UAE, 472: TJK,
		473: YEM, 475: YEM, 477: HKG, 478: BOS, 501: ADE, 503: AUS, 506: BUR, 508: BRU, 510: MIC, 511: PAL,
		512: NZL, 514: CMB, 515: CMB, 516: CHR, 518: COO, 520: FIJ, 523: COC, 525: INO, 529: KIR, 531: LAO,
		533: MLY, 536: MAI, 538: MAR, 540: NCA, 542: NIU, 544: NAU, 546: PLY, 548: PHI, 553: PAP, 555: PIT,
		557: SOL, 559: ASA, 561: WSA, 563: SIN, 564: SIN, 565: SIN, 566: SIN, 567: THA, 570: TON, 572: TUV,
		574: VIE, 576: VAN, 577: VAN, 578: WAL, 601: SAF, 603: ANG, 605: ALG, 607: SPL, 608: ASC, 609: BUI,
		610: BEN, 611: BOT, 612: CAR, 613: CAM, 615: CON, 616: COM, 617: CAP, 618: CRP, 619: IVO, 620: COM,
		621: DJI, 622: EGY, 624: ETH, 625: ERT, 626: GAB, 627: GHA, 629: GAM, 630: GUB, 631: EQG, 632: GUN,
		633: BUF, 634: KEN, 635: KER, 636: LIB, 637: LIB, 638: SSD, 642: LBY, 644: LES, 645: MAU, 647: MAD,
		649: MLI, 650: MOZ, 654: MAA, 655: MAW, 656: NIG, 657: NIA, 659: NAM, 660: REU, 661: RWA, 662: SUD,
		663: SEN, 664: SEY, 665: SHE, 666: SOM, 667: SIL, 668: SAO, 669: SWA, 670: CHA, 671: TOG, 672: TUN,
		674: TAN, 675: UGA, 676: ZAI, 677: TAN, 678: ZAM, 679: ZIM, 701: ARG, 710: BRA, 720: BOL, 725: CHI,
		730: COL, 735: ECU, 740: FAL, 745: GUI, 750: GUY, 755: PAR, 760: PER, 765: SUR, 770: URU, 775: VEN,
	}
}

var midMap map[MID]Country

// GetContry get Contry by MID
func (m MID) GetContry() Country {
	return midMap[m]
}

// GetCnName 获取国家/地区 中文名称
func (m MID) GetCnName() string {
	if c, ok := midMap[m]; ok {
		return c.CnName
	}
	return "未知"
}

// GetEnName 获取国家/地区 英文名称
func (m MID) GetEnName() string {
	if c, ok := midMap[m]; ok {
		return c.EnName
	}
	return "unknown"
}

// GetAlpha2 获取 国家/地区 ISO Alpha2 代码
func (m MID) GetAlpha2() string {
	if c, ok := midMap[m]; ok {
		return c.Alpha2
	}
	return ""
}

// GetAlpha3 获取 国家/地区 ISO Alpha3 代码
func (m MID) GetAlpha3() string {
	if c, ok := midMap[m]; ok {
		return c.Alpha3
	}
	return ""
}
